//region Object
let a: object;
a = {};
a = function () {

}

let b: { name: string; }
b = {};
b = {name: 'abc'}
b = {name: 'abc', age: 18}

let b1: { name: string; age?: number }
b1 = {};
b1 = {name: 'abc'};
b1 = {name: 'abc', age: 18};

let b2: { name: string; [propName: string]: string }
b2 = {};
b2 = {name: 'abc'};
b2 = {name: 'abc', age: 18};
b2 = {name: 'abc', age: '18', job: 'bcd'};

let b3: { name: string; [propName: string]: any }
b3 = {};
b3 = {name: 'abc'};
b3 = {name: 'abc', age: 18};
b3 = {name: 'abc', age: 18, job: 'bcd'};
//endregion

//region 委托
let c : (a: number, b: number) => number
c = function (a: number, b: number) {
    return a + b;
};
console.log(c(1, 2));
//endregion


